2000
How can I change the visual appearance of the filter bar's close button (solid)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = RGB(255,0,0);
G2antt1->EndUpdate();

1999
Is it possible to prevent definitely showing the filter bar's close button

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = -1;
G2antt1->EndUpdate();

1998
Is it possible to show the close button only if there is a filter applied

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->EndUpdate();

1997
The control's filter bar is not closed once I click the close button (toggle)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
	var_Items->set_LockedItemCount(Exg2anttlib_tlb::VAlignmentEnum::exBottom,1);
	long h = var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exBottom,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
G2antt1->FilterBarCaption = L"`<r><fgcolor=808080>` + value";
G2antt1->FilterBarPromptPattern = L"B";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1996
How can I display the control's filter on a single line

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarCaption = L"len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1995
How can I display the control's filter on a single line (prompt-combined)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarCaption = L"`<r>` + value";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1994
How can I get the number of results after a filter is applied

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void __fastcall TForm1::G2antt1Click(TObject *Sender)
{
	G2antt1->ClearFilter();
}

// FilterChange event - Occurs when the filter was changed.
void __fastcall TForm1::G2antt1FilterChange(TObject *Sender)
{
	OutputDebugString( L"Items.MatchItemCount" );
	OutputDebugString( PChar(G2antt1->Items->MatchItemCount) );
	OutputDebugString( PChar(G2antt1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",G2antt1->Items->MatchItemCount,TNoParam(),TNoParam())) );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->FilterBarPromptPattern = L"Item";
G2antt1->EndUpdate();

1993
How can I programmatically clear the control's filter
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void __fastcall TForm1::G2antt1Click(TObject *Sender)
{
	G2antt1->ClearFilter();
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->FilterBarPromptPattern = L"B";
G2antt1->EndUpdate();

1992
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptPattern = L"B";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1991
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->FilterBarPromptPattern = L"B";
G2antt1->EndUpdate();

1990
Is it possible to prevent closing the control's filter bar, so it is always shown

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarCaption = L"len(value) = 0 ? `<fgcolor=808080>no filter` : value";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1989
What are the options to align the percent caption

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Clip");
G2antt1->ScrollBySingleLine = true;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartMiddle | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2000,12,26).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task%Progress");
		var_Bar->Shortcut = L"Task";
		var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternBox;
		var_Bar->Color = RGB(164,164,164);
		var_Bar->StartColor = RGB(240,240,240);
		var_Bar->EndColor = var_Bar->StartColor;
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsIncludeCaption | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStackAutoArrange | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->Height = 15;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercent,TVariant(0.5));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarShowPercentCaption,TVariant(true));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercentCaptionFormat,TVariant("<sha ;;0>%p%"));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("no clip, (0-2)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(2));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(1));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(0));
	h = var_Items->AddItem(TVariant("clip, inside (3-5)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(5));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(4));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(3));
	h = var_Items->AddItem(TVariant("hide on min width, clip if not fit, inside (6-8)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(8));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(7));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(6));
	h = var_Items->AddItem(TVariant("hide if not fit, no clip, inside (9-11)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(11));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(10));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(9));
	h = var_Items->AddItem(TVariant("no clip, inside, outside (12-14)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(14));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(13));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(12));
	h = var_Items->AddItem(TVariant("no clip, outside (16-18)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(18));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(17));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarAlignPercentCaption,TVariant(16));
G2antt1->EndUpdate();

1988
Is it possible to determine whether a bar is in the current display area

// BarResizing event - Occurs when a bar is moving or resizing.
void __fastcall TForm1::G2antt1BarResizing(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant   Key)
{
	G2antt1->Refresh();
}

// DateChange event - Occurs when the first visible date is changed.
void __fastcall TForm1::G2antt1DateChange(TObject *Sender)
{
	G2antt1->Refresh();
}

// FormatColumn event - Fired when a cell requires to format its caption.
void __fastcall TForm1::G2antt1FormatColumn(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant *   Value)
{
	TVariant s = TVariant(G2antt1->Items->get_ItemBar(Item,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarStart));
	TVariant e = TVariant(G2antt1->Items->get_ItemBar(Item,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEnd));
	TVariant l = TVariant(G2antt1->FormatABC(L"A < B",TVariant(e),G2antt1->Chart->get_FirstVisibleDate(),TNoParam()));
	TVariant r = TVariant(G2antt1->FormatABC(L"A > B",TVariant(s),G2antt1->Chart->get_DateFromPoint(1,-1),TNoParam()));
	Value = TVariant(G2antt1->FormatABC(L"( A or B ) ? `<fgcolor=C0C0C0>hidden` : `<b>visible`",TVariant(l),TVariant(r),TNoParam()));
}

// LayoutChanged event - Occurs when column's position or column's size is changed.
void __fastcall TForm1::G2antt1LayoutChanged(TObject *Sender)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Visible");
	var_Column->FireFormatColumn = true;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAll;
	var_Chart->OverviewHeight = 64;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
G2antt1->SelBackColor = G2antt1->BackColor;
G2antt1->SelForeColor = G2antt1->ForeColor;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TVariant("A"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2018,8,3).operator double()),TVariant(TDateTime(2018,8,10).operator double()),TVariant("A"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2019,8,4).operator double()),TVariant(TDateTime(2019,8,12).operator double()),TVariant("A"),TNoParam());
	var_Items->set_SelectItem(var_Items->FocusItem,true);
G2antt1->EndUpdate();

1987
How can I ensure that the bar fits the control's client area

// SelectionChanged event - Fired after a new item has been selected.
void __fastcall TForm1::G2antt1SelectionChanged(TObject *Sender)
{
	long h = G2antt1->Items->FocusItem;
	TVariant k = TVariant(G2antt1->Items->get_FirstItemBar(h));
	TVariant s = TVariant(G2antt1->FormatABC(L"(A+B)/2",G2antt1->Items->get_ItemBar(h,TVariant(k),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarStart),G2antt1->Items->get_ItemBar(h,TVariant(k),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEnd),TNoParam()));
	G2antt1->Chart->ScrollTo(s,TVariant(1));
}

G2antt1->BeginUpdate();
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2018,8,3).operator double()),TVariant(TDateTime(2018,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2019,8,4).operator double()),TVariant(TDateTime(2019,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(var_Items->FocusItem,true);
G2antt1->EndUpdate();

1986
Is it possible to change the caption from a column without to remove the column and add it with the new caption
G2antt1->Columns->Add(L"ColumnName")->Caption = L"NewName";
G2antt1->Columns->Add(L"ColumnName")->HTMLCaption = L"<b>New</b>Name";

1985
How can I display the bar's duration in days, minutes, and so so on

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks")->AllowSizing = false;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Duration");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("A"));
		var_Column->FormatColumn = TVariant(String("trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``)  + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=i") +
"nt((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(" +
"=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0" +
":=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))");
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,12,30).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->Bars->Add(L"Task:Split")->Shortcut = L"Task";
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAll;
	var_Chart->OverviewHeight = 64;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exSecond;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowChangeUnitScale | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartMiddle | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,12,31).operator double()),TVariant(TDateTime(2002,1,7).operator double()),TVariant("A"),TNoParam());
	h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,1).operator double()),TVariant(TDateTime(2002,2,14).operator double()),TVariant("A"),TNoParam());
	h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,2,10,00,00,0).operator double()),TVariant(TDateTime(2002,1,2,12,00,00,0).operator double()),TVariant("A"),TNoParam());
	h = var_Items->AddItem(TVariant("Task 4"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,4,8,30,30,0).operator double()),TVariant("A"),TNoParam());
G2antt1->EndUpdate();

1984
How can I change the background color for checked items (EBN color, frame)

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->DefaultItemHeight = 22;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEc") +
"x9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJc" +
"FqXFSLVxNBKAQEBA="));
	var_Appearance->Add(1,TVariant("CP:2 1 1 -1 -1"));
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->BackColor = 0x1000000;
	var_ConditionalFormat->ChartBackColor = var_ConditionalFormat->BackColor;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1983
How can I change the caption of the checked items (sample 2)

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->SelBackColor = G2antt1->BackColor;
G2antt1->SelForeColor = G2antt1->ForeColor;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value";
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1982
How can I change the caption of the checked items (sample 1)

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)";
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1981
How can I change the font for the checked items

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->DefaultItemHeight = 22;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		OLE Automation

	TypeLib: stdole2.tlb

	to define the namespace: Stdole_tlb
*/
//#include "STDOLE_TLB.h"
	Stdole_tlb::FontPtr f = Variant::CreateObject(L"StdFont");
		f->Name = G2antt1->Font->Name;
		f->Size = TVariant(long(12));
	var_ConditionalFormat->Font = (IFontDisp*)(f);
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,196);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1980
How can I bold the checked items

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->Bold = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1979
How can I change the foreground color for checked items

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->ForeColor = RGB(255,128,128);
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1978
How can I change the background color for checked items (solid color)

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->BackColor = RGB(255,128,128);
	var_ConditionalFormat->ChartBackColor = var_ConditionalFormat->BackColor;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1977
How can I change the color for checked Task bars

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->ApplyToBars = L"Task,Summary";
	var_ConditionalFormat->BarColor = RGB(255,0,0);
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1976
I have defined "NonWorkingHours" for the Gantt, and the "exBarWorkingCount" properly excludes these hours as long as the Gantt is using "exDay" or "exHour" as the level unit. However when displaying a quarter or a year, I'm changing the unit to "exWeek", but then the "NonWorkingHours" are no longer excluded from the bars "exBarWorkingCount" and displays the wrong value

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks")->AllowSizing = false;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Working");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("A"));
		var_Column->FormatColumn = TVariant(String("((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((") +
"1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowChangeUnitScale | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartMiddle | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->Bars->Add(L"Task:Split")->Shortcut = L"Task";
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2002,1,3).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->get_Level(0)->set_Label(TVariant("<%ddd%>"));
	var_Chart->get_Level(1)->set_Label(TVariant("<%hh%>"));
	var_Chart->NonworkingHours = 16761855;
	var_Chart->ShowNonworkingUnits = false;
	var_Chart->ShowNonworkingUnits = false;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAll;
	var_Chart->OverviewHeight = 64;
	var_Chart->AllowOverviewZoom = Exg2anttlib_tlb::OverviewZoomEnum::exAlwaysZoom;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,4).operator double()),TVariant(TDateTime(2002,1,8).operator double()),TVariant("A"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,4).operator double()),TVariant("A"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
Exg2anttlib_tlb::IChartPtr var_Chart1 = G2antt1->Chart;
	var_Chart1->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart1->ScrollTo(var_Chart1->get_FirstVisibleDate(),TVariant(1));
G2antt1->EndUpdate();

1975
Is it possible to customize the editor selection colour of the built in text editor, from standard blue to black

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->SelBackColor = RGB(0,0,0);
G2antt1->SelForeColor = RGB(255,255,255);
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IEditorPtr var_Editor = G2antt1->Columns->Add(L"Edit")->Editor;
	var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::MaskType;
	var_Editor->Mask = L";;;rich";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Just a text"));
	var_Items->AddItem(TVariant(""));
G2antt1->EndUpdate();

1974
Is it possible to customize the editor selection colour of the built in dropdown editor, from standard blue to black

G2antt1->BeginUpdate();
G2antt1->SelBackColor = RGB(0,0,0);
G2antt1->SelForeColor = RGB(255,255,255);
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IEditorPtr var_Editor = G2antt1->Columns->Add(L"DropDown")->Editor;
	var_Editor->AddItem(1,L"This is just the first item",TNoParam());
	var_Editor->AddItem(2,L"This is just the second item",TNoParam());
	var_Editor->AddItem(3,L"This is just the third item",TNoParam());
	var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DropDownType;
	var_Editor->Mask = L";;;rich";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Just a text"));
	var_Items->AddItem(TVariant(""));
G2antt1->EndUpdate();

1973
When I display the chart in the daily view, the histogram shows correctly the data while if the chart displays the data in weekly or monthly view, the histogram shows no data or incorrectly. What can be the problem

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
void __fastcall TForm1::G2antt1OverviewZoom(TObject *Sender)
{
	G2antt1->Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
}

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Effort");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(21));
	var_Column->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::SpinType;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowOverviewZoom = Exg2anttlib_tlb::OverviewZoomEnum::exAlwaysZoom;
	var_Chart->OverviewZoomCaption = L"|||<img>3</img>Month|Third|<img>2</img>Week|<img>1</img>Day|||";
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exYear,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exHalfYear,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exQuarterYear,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exThirdMonth,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exHour,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exMinute,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exSecond,L"");
	var_Chart->OverviewZoomUnit = 64;
	var_Chart->LevelCount = 2;
	var_Chart->NonworkingDays = 0;
	var_Chart->set_PaneWidth(false,96);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2005,6,20).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 128;
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAll;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramPattern = var_Bar->Pattern;
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistOverload;
		var_Bar->HistogramCriticalValue = 3;
		var_Bar->HistogramItems = -7;
		var_Bar->HistogramGridLinesColor = RGB(192,192,192);
		var_Bar->HistogramRulerLinesColor = RGB(0,0,1);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	long h1 = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2005,6,21).operator double()),TVariant(TDateTime(2005,6,23).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant(4));
	h1 = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2005,6,24).operator double()),TVariant(TDateTime(2005,6,26).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant(3));
	h1 = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2005,6,27).operator double()),TVariant(TDateTime(2005,6,29).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant(2));
	h1 = var_Items->AddItem(TVariant("Task 4"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2005,6,30).operator double()),TVariant(TDateTime(2005,7,2).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant(1));
G2antt1->EndUpdate();

1972
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void __fastcall TForm1::G2antt1BeforeExpandItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant *   Cancel)
{
	OutputDebugString( L"BeforeExpandItem" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColumnFromPoint" );
	OutputDebugString( PChar(G2antt1->ColumnFromPoint[-1,-1]) );
	OutputDebugString( L"ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs." );
	G2antt1->Items->InsertItem(Item,TNoParam(),TVariant("new child"));
}

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Items")->DisplayFilterButton = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_ItemHasChildren(var_Items->InsertItem(TNoParam(),TNoParam(),TVariant("Group 1")),true);
	var_Items->set_ItemHasChildren(var_Items->InsertItem(TNoParam(),TNoParam(),TVariant("Group 2")),true);
G2antt1->EndUpdate();

1971
How do I change the drop down filter icon/button (black)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(0,0,1);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(255,255,255);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarExclude] = L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>";
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::None2;
G2antt1->BackColorHeader = RGB(0,0,0);
G2antt1->ForeColorHeader = RGB(255,255,255);
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisible;
G2antt1->BackColorLevelHeader = G2antt1->BackColor;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Filter");
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->BackColorLevelHeader = G2antt1->BackColorHeader;
	var_Chart->ForeColorLevelHeader = G2antt1->ForeColorHeader;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("One"));
	var_Items->AddItem(TVariant("Two"));
	var_Items->AddItem(TVariant("Three"));
G2antt1->EndUpdate();

1970
How do I change the z-order of the bars (percent)

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::G2antt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	TVariant b = TVariant(G2antt1->Chart->get_BarFromPoint(-1,-1));
	long i = G2antt1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( PChar(G2antt1->Items->get_ItemBar(i,TVariant(b),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip)) );
}

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
G2antt1->DefaultItemHeight = 52;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,10,10).operator double()));
	var_Chart->set_PaneWidth(false,0);
	var_Chart->NonworkingDays = 0;
	var_Chart->MarkTodayColor = var_Chart->BackColor;
	var_Chart->Bars->Add(L"Task%Progress")->Shortcut = L"Task";
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Copy(L"Task",L"T1");
		var_Bar->Color = RGB(255,0,0);
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%17 + `<b><font ;6><off -4> (z-key `+%9+`)`%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercent,TVariant(0.25));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercentColor,TVariant(var_Bar->Color));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarOffset,TVariant(10));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarShowPercentCaption,TVariant(true));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercentCaptionFormat,TVariant("<font ;6><b>%p%</b>"));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"T2");
		var_Bar1->Height = 26;
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%17 + `<b><font ;6><off -4> (z-key `+%9+`)`%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarVAlignCaption,TVariant(16));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercent,TVariant(0.25));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercentColor,TVariant(var_Bar1->Color));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarShowPercentCaption,TVariant(true));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercentCaptionFormat,TVariant("<font ;6><b>%p%</b>"));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("Task"));
	var_Items->AddBar(h1,TVariant("T1"),TVariant(TDateTime(2017,10,15).operator double()),TVariant(TDateTime(2017,10,25).operator double()),TVariant("2"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar A"));
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar A <b>Over</b> Bar B"));
	var_Items->AddBar(h1,TVariant("T2"),TVariant(TDateTime(2017,10,18).operator double()),TVariant(TDateTime(2017,10,22).operator double()),TVariant("1"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar B"));
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar B <b>Under</b> Bar A"));
	h1 = var_Items->AddItem(TVariant("Task"));
	var_Items->AddBar(h1,TVariant("T1"),TVariant(TDateTime(2017,10,15).operator double()),TVariant(TDateTime(2017,10,25).operator double()),TVariant("1"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar A"));
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar A <b>Under</b> Bar B"));
	var_Items->AddBar(h1,TVariant("T2"),TVariant(TDateTime(2017,10,18).operator double()),TVariant(TDateTime(2017,10,22).operator double()),TVariant("2"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar B"));
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar B <b>Over</b> Bar A"));
G2antt1->EndUpdate();

1969
How do I change the z-order of the bars

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::G2antt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	TVariant b = TVariant(G2antt1->Chart->get_BarFromPoint(-1,-1));
	long i = G2antt1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( PChar(G2antt1->Items->get_ItemBar(i,TVariant(b),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip)) );
}

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
G2antt1->DefaultItemHeight = 52;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,10,10).operator double()));
	var_Chart->set_PaneWidth(false,0);
	var_Chart->NonworkingDays = 0;
	var_Chart->MarkTodayColor = var_Chart->BackColor;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Copy(L"Task",L"T1");
		var_Bar->Color = RGB(255,0,0);
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%17 + `<b><font ;6><off -4> (z-key `+%9+`)`%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"T2");
		var_Bar1->Height = 25;
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%17 + `<b><font ;6><off -4> (z-key `+%9+`)`%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarVAlignCaption,TVariant(16));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("Task"));
	var_Items->AddBar(h1,TVariant("T1"),TVariant(TDateTime(2017,10,15).operator double()),TVariant(TDateTime(2017,10,25).operator double()),TVariant("2"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar A"));
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar A <b>Over</b> Bar B"));
	var_Items->AddBar(h1,TVariant("T2"),TVariant(TDateTime(2017,10,18).operator double()),TVariant(TDateTime(2017,10,22).operator double()),TVariant("1"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar B"));
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar B <b>Under</b> Bar A"));
	h1 = var_Items->AddItem(TVariant("Task"));
	var_Items->AddBar(h1,TVariant("T1"),TVariant(TDateTime(2017,10,15).operator double()),TVariant(TDateTime(2017,10,25).operator double()),TVariant("1"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar A"));
	var_Items->set_ItemBar(h1,TVariant("1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar A <b>Under</b> Bar B"));
	var_Items->AddBar(h1,TVariant("T2"),TVariant(TDateTime(2017,10,18).operator double()),TVariant(TDateTime(2017,10,22).operator double()),TVariant("2"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Bar B"));
	var_Items->set_ItemBar(h1,TVariant("2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Bar B <b>Over</b> Bar A"));
G2antt1->EndUpdate();

1968
How do I get the duration/working count of the bar (sample 6,excrd)

G2antt1->BeginUpdate();
G2antt1->DefaultItemHeight = 48;
G2antt1->ShowFocusRect = false;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->BackColorLevelHeader = G2antt1->BackColor;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,12,26).operator double()));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task:Split");
		var_Bar->Shortcut = L"Task";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("<%=%263%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarOffset,TVariant(-12));
	var_Chart->ColumnsFormatLevel = L"1,2/3";
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Duration");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
	var_Column->Visible = false;
	var_Column->Alignment = Exg2anttlib_tlb::AlignmentEnum::LeftAlignment;
	var_Column->FormatColumn = L"value + `d`";
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Working");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column1->Visible = false;
	var_Column1->Alignment = Exg2anttlib_tlb::AlignmentEnum::RightAlignment;
	var_Column1->FormatColumn = L"value + `w`";
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Working-Period");
	var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(263));
	var_Column2->Visible = false;
	var_Column2->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column2->FormatColumn = L"((value replace `\\r\\n` with `,`) replace `#` with ``) replace ` ` with ``";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,11).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,15).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2001,12,31).operator double()),TVariant(TDateTime(2002,1,13).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1967
How do I get the duration/working count of the bar (sample 5)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemMaxHeight(Item,64);
}

G2antt1->BeginUpdate();
G2antt1->BackColorAlternate = RGB(240,240,240);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,256);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2002,1,1).operator double()));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task:Split");
		var_Bar->Shortcut = L"Task";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("<%=%263%>"));
	var_Chart->ColumnsFormatLevel = L"1,2";
	var_Chart->SelBackColor = G2antt1->SelBackColor;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Task");
	var_Column->AllowSizing = false;
	var_Column->Width = 48;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Duration");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
	var_Column1->Visible = false;
	var_Column1->Alignment = Exg2anttlib_tlb::AlignmentEnum::LeftAlignment;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Working");
	var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column2->Visible = false;
	var_Column2->Alignment = Exg2anttlib_tlb::AlignmentEnum::RightAlignment;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Working-Period");
	var_Column3->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(263));
	var_Column3->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,15).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,4).operator double()),TVariant(TDateTime(2002,1,16).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1966
How do I get the duration/working count of the bar (sample 4)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,12,26).operator double()));
	var_Chart->Bars->Add(L"Task:Split")->Shortcut = L"Task";
	var_Chart->ColumnsFormatLevel = L"1,2";
G2antt1->Columns->Add(L"Task")->Width = 48;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Duration");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
	var_Column->Visible = false;
	var_Column->Alignment = Exg2anttlib_tlb::AlignmentEnum::LeftAlignment;
	var_Column->FormatColumn = L"value + `d`";
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Working");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column1->Visible = false;
	var_Column1->Alignment = Exg2anttlib_tlb::AlignmentEnum::RightAlignment;
	var_Column1->FormatColumn = L"value + `w`";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,15).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1965
How do I get the duration/working count of the bar (sample 3)

// BarResizing event - Occurs when a bar is moving or resizing.
void __fastcall TForm1::G2antt1BarResizing(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant   Key)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		OutputDebugString( var_Items->get_CellCaption(TVariant(Item),TVariant(0)) );
		OutputDebugString( L"Working" );
		OutputDebugString( PChar(var_Items->get_ItemBar(Item,TVariant(Key),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarWorkingCount)) );
		OutputDebugString( var_Items->get_CellCaption(TVariant(Item),TVariant(0)) );
		OutputDebugString( L"Duration" );
		OutputDebugString( PChar(var_Items->get_ItemBar(Item,TVariant(Key),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarDuration)) );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,12,26).operator double()));
	var_Chart->Bars->Add(L"Task:Split")->Shortcut = L"Task";
G2antt1->Columns->Add(L"Task")->Width = 48;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,15).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1964
How do I get the duration/working count of the bar (sample 2)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,12,26).operator double()));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task:Split");
		var_Bar->Shortcut = L"Task";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%258%>w"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarExtraCaption,TVariant("<%=%513%>d"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarExtraCaptionHAlign,TVariant(16));
G2antt1->Columns->Add(L"Task")->Width = 48;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,15).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1963
How do I get the duration/working count of the bar (sample 1)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2002,1,1).operator double()));
	var_Chart->Bars->Add(L"Task:Split")->Shortcut = L"Task";
G2antt1->Columns->Add(L"Task")->Width = 48;
G2antt1->Columns->Add(L"Duration")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
G2antt1->Columns->Add(L"Working")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2002,1,3).operator double()),TVariant(TDateTime(2002,1,15).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1962
How can I draw a solid frame around the the focusing item

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
G2antt1->DefaultItemHeight = 20;
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->RenderType = -1;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABOkGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeDYMiSNoYDJCM4wH") +
"IURRJFCUJSGWQpTgSIgyT5HFIxXKoASbJabZLhWS6EpWOotTbIQQRYCkEyfKKfZyGURZQqOKA1DBZErWTJESRFJqLazgO4LAhyQYrVgAErzVKVCRNOqbJzADApdpGQJT" +
"ULDNTQHRFIyhOSnIRrWbMAhid6JUZiVT4dBOIYhSYANAqCwLFqrDJmWrpV5WZjlZ47V6BdAyXJsIrmFJEXaOGhyDDlGybSDZYryfZhUziUw4XjbWwZDqPF6DKTTdSGLR" +
"EE8WZVlURZvDaep3C+AY8kAYRgGCCBJECUhjDoHROEYWgoAGTQ1CEEx9lGMY0CQUYSnuZQDBGBYFlOH5+H+igGAKAJgEgFgGgGVgDn4CoCmCSA2A6A5hAgDgQgSYRIE4" +
"EoFGGCBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAoLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ2AYOpWlQDQBICA="));
G2antt1->ShowFocusRect = true;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exShowFocusRect] = 0x1000000;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Chart->set_PaneWidth(true,1);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"P1");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1961
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 2)

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
G2antt1->DefaultItemHeight = 20;
G2antt1->ShowFocusRect = true;
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->RenderType = -1;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeCRUgyJI3RgMUIzV") +
"AcRRFEiUJQlIZZCjOAw0SIMU7xZRcNxsACnaZnCR4NiuRYiUhOcqzRIQIQ4CiEahqOgJbDUJYwWZKAyjBY8XTZFCSJCpeJ6egOc5jRxQUp1WAEXx3GSsJKvCZ5cADBY+" +
"VLQNS0JBtMSTKSLaiuWoIJqCPaDRheWKQJh1NSnLqEcjyYANDxDCZlWzAYxWTZ2Uz7N7PbB0HY4DyPGKZYrfESVRbQcZNS6nNigPI9XhfGq6VjRe63ZaOaYpWrnOJqTR" +
"WjOKYujWdZ2BGO5lkuBAAkmcQkDmDBEAwEQJCgGhMGcQ4pkiSxGAAOYmkQIhvkYNg2gSCgyj+LI4GIMIwF2XQoAYAoAmASAWAaAZgggJgKFiT54DYDoDmECBGBKBJgGg" +
"TgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChiigYgsgsYYYBYMIKCMKJOCuDRjGiOgLg6Y5InYPoPmQCAkmsXAQDQBCAg="));
	var_Appearance->Add(3,TVariant("CP:2 -3 0 3 0"));
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exShowFocusRect] = 0x3010101;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Chart->set_PaneWidth(true,1);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"P1");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1960
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 1)

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
G2antt1->ShowFocusRect = true;
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABHoDg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASV") +
"AceAAGaUZrjSgobjmOYhAJCLqhYIgASXJqLaBlOCaAieSc+QhjQJIJoeCZXU5TFg1BTsOhqEqcRiseaRVDCaIJWzbdYWLDdNQHHKYLjnWorbpSJZ5XjNEySDQkMS9PrE" +
"J7vST8FBCdAABLJUB2BR9RwxRafKpnWwJDpmCaOQLXEB5DK1PyVMTKYrtGy7GrIAJxWxbV4UHh+QABOzIMAvHKJMwvHYcUZne5XVLeF41HbONogPaJZyIAK2cLROq6Xo" +
"7GEcJZEcLASB4DwvgWUZlE6AQQhKAYkkYdA6hyDIwHgSoqFwQgmnsYxjGgSIiBOTpSEiAwRgOJI7j4JAHA6U5wm0MpPlOBIjD8TZiGYCICiCGAuA6AxhAgMgSgOYQ4DY" +
"Bg/g6cw1n+ABOmMMJ9DmCwjnScw4RsVJngkYh4hoKIKmKKI2CmC5ikiQgqgiT5jhyMw8g4QwIn0OIKEiCJhD8DwTGyfA7k0WQOEWEQkGkJhIhKZB5DYSoTiSCQEn4PQO" +
"COXJcCeIJjliaIQk0aRyF4O5llmAhfhgZhJg4ZoYiaAxYn4PZOhOZJaCUZYTiYQw1mcOZUm+HQnHmWh4h6Z4pnYeYfk0eYsmqG4nAgNJ2DqD5DkCWoiGiOgqgyI5omoR" +
"oNiSaQKFKEojCaM4ugSFhOjkAJcieKgDkaH4oioGoOiaKRqgqEoqDddwyhuAxPgOMJ8DyDZqk6NYtCsapmjiLprHqdo6i+K5K1oPhOlqPgKD4DpjnII4yiOewuk6MxtA" +
"sMpSjObQ7EaT4wk6ewYn0PgPAiCJkjeLgDk6X44i4G4OmaORuguEpqDkLAzkaWg+E8GIUmaPIvEOVpzj2Lxbl6eo+G+S5in4OYPmOaJyjuTwjnYWpBg6DAjAqQZwkwJw" +
"NkKcJsEcEJCDBEpaD6Dw8BiapGjGSgfB2RpxmyBwgkicZ8haBw/g+M5TBcPQPlOXJskscp8jsMJMnMLJXDGTZzEyYw2kwMoDlcFw9i2M4/EGUJPg0CxFlENBtCcSJSnQ" +
"fQ0m+SgPHsaJ7lALZLG6XZVHWDRfFqVY1k0ZxdladYTnifJUGaeAWAeMnSGcGWgBObJ3lWbwdjKW5cHcTZPHaLkN4GxXDlFqFsA4uRbBOGAFAEIzAsDEFOBkfYqR4D6A" +
"OBEYo8QuBvAmMceInBDgcD0JwOIqQyJ1DMAwG4IANDnHSMoK4QhOgMBGNEIQvQWAdGenETIswGiddsAAQAgCAgA=="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADDFIBQSLAYROGSDJBGODJDjWGIeQLOEhQH") +
"IMRxPE6UYLhWYpBDKPYcUbGc7yBBMVwGf59XzACoKSheQIVSDQkw6Fo6NYhAxHALyNRkBy8f60KjtGpodDUJYvW5JYyjBZ8EznOqbJBkeJ7BgOe5NQjaD72VgdWQJFSW" +
"JajWYYJDOJY2ZAAE5TVINEwxJbDaylChIdxaF6WAzZEBhBYoATPNLBMrhWqKDw2XaQWBCOgwHYeR5LU7BdRwbIrRq2eAAXbcVyXfDddZlBK+QA0SK9lRVTKvJZmKgBWw" +
"1COSxmAAGw4kcNx1iKFBiCAfQsG8lJemucg7nsXpUHOOxrm+DI3jOH4XAOBx2nscw0j2HhPG4L5uGEVIECQCBCEUAYkGMHQHFGSBlGaAxkEgQgTGCVBsDYQhCgQJZrHK" +
"UggGEShkFGNgIlsNpPnMHJHD+TADAIJIJiIWIeCqChikiIgmgiD5zHyXxgiACJKCuC4jHiZgtg6I4IlkCQwkwOIonMPJjEkFhGhGZBpA4KoMBCGJuEiE5lAkGg7hMY4J" +
"EYVoUCUNAOE6FZl0KWQACWOR2GKF5mBmChchkJRZhoXYaCKKYqGuDglEmNhuhWZpIiYc4dCcCRqGmHZlgm2YxAwSQKESHwkFkKgpiAIAIH4PIimOOg2DiChoiQJRRD+T" +
"ZDHCfwyAyCgyg+JpiioYJ/DgDgIlECQ6lwRAEICA="));
	var_Appearance->Add(3,TVariant("CP:2 -2 0 2 0"));
G2antt1->SelBackColor = 0x1000000;
G2antt1->SelForeColor = RGB(0,0,0);
G2antt1->Chart->set_PaneWidth(true,1);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exShowFocusRect] = 0x3ff0000;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"P1");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1959
How can I display the start/end margins of bars, when cursor hovers it like a tooltip

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"exBarToolTip");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,96);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->Bars->get_Item(TVariant("Task"))->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>"));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Bar.Def")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Bar.Def")),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("K1"),TNoParam());
	long h = var_Items->AddItem(TVariant("Items.ItemBar"));
	var_Items->AddBar(h,TVariant("Unknown"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,11).operator double()),TVariant("K"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("Start:<%=%1%><br>End:<%=%2%>"));
G2antt1->EndUpdate();

1958
Is it possible to define different kinds of summary bars with using the EBN files

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->RenderType = -16777216;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwH") +
"IERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6" +
"STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKp" +
"FHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" +
"XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC"));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG") +
"h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" +
"aZACj4arKejrRDCMAggI="));
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
		var_Bar->Color = RGB(1,0,0);
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
		var_Bar1->Color = 0x2000000;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long hSummaryJ = var_Items->AddItem(TVariant("Summary A"));
	var_Items->AddBar(hSummaryJ,TVariant("Summary"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,2).operator double()),TVariant("J"),TNoParam());
	long hTaskJ = var_Items->InsertItem(hSummaryJ,TNoParam(),TVariant("Task A.1"));
	var_Items->AddBar(hTaskJ,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("J1"),TNoParam());
	hTaskJ = var_Items->InsertItem(hSummaryJ,TNoParam(),TVariant("Task A.2"));
	var_Items->AddBar(hTaskJ,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("J2"),TNoParam());
	var_Items->DefineSummaryBars(hSummaryJ,TVariant("J"),-1,TVariant("<*>"));
	long hSummaryK = var_Items->AddItem(TVariant("Summary B"));
	var_Items->AddBar(hSummaryK,TVariant("Summary"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,2).operator double()),TVariant("K"),TNoParam());
	long hTaskK = var_Items->InsertItem(hSummaryK,TNoParam(),TVariant("Task B.1"));
	var_Items->AddBar(hTaskK,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	hTaskK = var_Items->InsertItem(hSummaryK,TNoParam(),TVariant("Task B.2"));
	var_Items->AddBar(hTaskK,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("K2"),TNoParam());
	var_Items->DefineSummaryBars(hSummaryK,TVariant("K"),-1,TVariant("<*>"));
	var_Items->set_ItemBar(0,TVariant("<K*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
	long hSummaryZ = var_Items->AddItem(TVariant("Summary B"));
	var_Items->AddBar(hSummaryZ,TVariant("Summary"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,2).operator double()),TVariant("Z"),TNoParam());
	long hTaskZ = var_Items->InsertItem(hSummaryZ,TNoParam(),TVariant("Task B.1"));
	var_Items->AddBar(hTaskZ,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("Z1"),TNoParam());
	hTaskZ = var_Items->InsertItem(hSummaryZ,TNoParam(),TVariant("Task B.2"));
	var_Items->AddBar(hTaskZ,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("Z2"),TNoParam());
	var_Items->DefineSummaryBars(hSummaryZ,TVariant("Z"),-1,TVariant("<*>"));
	var_Items->set_ItemBar(hSummaryZ,TVariant("Z"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(16842496));
	var_Items->set_ItemBar(0,TVariant("<Z1>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(50266112));
	var_Items->set_ItemBar(0,TVariant("<Z2>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(33554176));
	var_Items->set_ExpandItem(0,true);
G2antt1->EndUpdate();

1957
How can I display the week-number in ISO8601 format

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2007,12,12).operator double()));
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exWeek;
	var_Chart->get_Level(0)->FormatLabel = L"value + `<r><off -4><fgcolor=808080><font ;6>` + year(dvalue)";
	var_Chart->get_Level(1)->FormatLabel = L"(value = 1 ? `<bgcolor=000000><fgcolor=FFFFFF>` : ``) + value";
	var_Chart->WeekNumberAs = Exg2anttlib_tlb::WeekNumberAsEnum::exISO8601WeekNumber;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
G2antt1->EndUpdate();

1956
I have a column right-aligned. How can I display its check box aligned to the right, as it appears to the left of the cell's caption

G2antt1->BeginUpdate();
G2antt1->ColumnAutoResize = true;
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exVLines;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Left");
		var_Column->AllowSizing = false;
		var_Column->Width = 96;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->FormatColumn = L"0 pos `A-Z`";
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Center");
		var_Column1->HeaderAlignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Column1->Alignment = var_Column1->HeaderAlignment;
		var_Column1->AllowSizing = false;
		var_Column1->Width = 96;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->FormatColumn = L"0 pos `A-Z`";
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Right");
		var_Column2->HeaderAlignment = Exg2anttlib_tlb::AlignmentEnum::RightAlignment;
		var_Column2->Alignment = var_Column2->HeaderAlignment;
		var_Column2->AllowSizing = false;
		var_Column2->Width = 96;
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->FormatColumn = L"0 pos `A-Z`";
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellDrawPartsOrder,TVariant("caption,check,icon,icons,picture"));
	var_Columns->Add(L"");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
G2antt1->EndUpdate();

1955
Can I display the column's multiple-lines caption vertically oriented (method 2)

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 48;
G2antt1->ColumnAutoResize = true;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"And others ...");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->HTMLCaption = L"First Column";
		var_Column->HeaderVertical = true;
		var_Column->Width = 36;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column->Position = 0;
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"");
		var_Column1->HTMLCaption = L"<c><b>Second Column";
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 36;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column1->Position = 1;
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"");
		var_Column2->HTMLCaption = L"<r>Third Column";
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 36;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column2->Position = 2;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
G2antt1->EndUpdate();

1954
Can I display the column's multiple-lines caption vertically oriented (method 1)

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 48;
G2antt1->HeaderSingleLine = false;
G2antt1->ColumnAutoResize = true;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"And others ...");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"First Column");
		var_Column->HeaderVertical = true;
		var_Column->Width = 36;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column->Position = 0;
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Second Column");
		var_Column1->HeaderBold = true;
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 36;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column1->Position = 1;
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Third Column");
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 36;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column2->Position = 2;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
G2antt1->EndUpdate();

1953
Can I display the column's caption vertically oriented (method 2)

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 48;
G2antt1->ColumnAutoResize = true;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"And others ...");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->HTMLCaption = L"First";
		var_Column->HeaderVertical = true;
		var_Column->Width = 20;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Position = 0;
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"");
		var_Column1->HTMLCaption = L"<c><b>Second";
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 20;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->Position = 1;
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"");
		var_Column2->HTMLCaption = L"<r>Third";
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 20;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->Position = 2;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
G2antt1->EndUpdate();

1952
Can I display the column's caption vertically oriented (method 1)

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 48;
G2antt1->ColumnAutoResize = true;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"And others ...");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"First");
		var_Column->HeaderVertical = true;
		var_Column->Width = 20;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Position = 0;
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Second");
		var_Column1->HeaderBold = true;
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 20;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->Position = 1;
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Third");
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 20;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->Position = 2;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(3),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(2),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(1),1);
G2antt1->EndUpdate();

1951
How can I resize all task-bars 0-length

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,3).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,5).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant("itembar(513) = 0 and itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
	var_Items->set_ItemBarEx(TVariant("itembar(513) = 0 and itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarDuration,TVariant("value + 1"));
G2antt1->EndUpdate();

1950
Is it possible to mark items that holds items with 0-length (zero,empty, sample 3)
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Duration");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
	var_Column->Visible = false;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%1 = 0",TNoParam());
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->BackColor = RGB(190,190,190);
	var_ConditionalFormat->ChartBackColor = var_ConditionalFormat->BackColor;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,3).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,5).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1949
Is it possible to mark items that holds items with 0-length (zero,empty, sample 2)

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,3).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,5).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant("itembar(513) = 0"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("`zero-length`"));
G2antt1->EndUpdate();

1948
Is it possible to mark items that holds items with 0-length (zero,empty, sample 1)

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,3).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,5).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant("itembar(513) = 0"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarBackgroundExt,TVariant("`[frame=RGB(255,0,0),framethick,pattern=6,patterncolor=RGB(255,0,0)]`"));
	var_Items->set_ItemBarEx(TVariant("itembar(513) = 0"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarBackgroundExtInflate,TVariant("`-4,-4,4,4`"));
G2antt1->EndUpdate();

1947
How can I find how many tasks/bars of 0-length (zero,empty) do I have

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,3).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,5).operator double()),TNoParam(),TNoParam());
	OutputDebugString( PChar(var_Items->get_ItemBarEx(TVariant("itembar(513) = 0"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
G2antt1->EndUpdate();

1946
How can I remove all bars from selected items

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->SelBackColor = RGB(240,240,240);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->OverlaidGroup = L"Task,Task-Diff";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"Task-Diff");
		var_Bar1->Height = 4;
		var_Bar1->Color = RGB(255,0,0);
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(16));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(h,true);
	h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TVariant(""),TNoParam());
	var_Items->AddBar(h,TVariant("Task-Diff"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,14).operator double()),TVariant("P"),TNoParam());
	var_Items->set_SelectItem(h,true);
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	OutputDebugString( L"Bars before remove: " );
	OutputDebugString( PChar(var_Items->get_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
	var_Items->set_ItemBarEx(TVariant("itemisselected"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKey,TVariant("`toberemove` + value "));
	var_Items->RemoveBar(0,TVariant("<toberemove*>"));
	OutputDebugString( L"Bars after remove: " );
	OutputDebugString( PChar(var_Items->get_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
G2antt1->EndUpdate();

1945
How can I remove task bars from selected items

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->SelBackColor = RGB(240,240,240);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->OverlaidGroup = L"Task,Task-Diff";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"Task-Diff");
		var_Bar1->Height = 4;
		var_Bar1->Color = RGB(255,0,0);
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(16));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(h,true);
	h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TVariant(""),TNoParam());
	var_Items->AddBar(h,TVariant("Task-Diff"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,14).operator double()),TVariant("P"),TNoParam());
	var_Items->set_SelectItem(h,true);
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	OutputDebugString( L"Bars before remove: " );
	OutputDebugString( PChar(var_Items->get_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
	var_Items->set_ItemBarEx(TVariant("itemisselected and itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKey,TVariant("`toberemove` + value "));
	var_Items->RemoveBar(0,TVariant("<toberemove*>"));
	OutputDebugString( L"Bars after remove: " );
	OutputDebugString( PChar(var_Items->get_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
G2antt1->EndUpdate();

1944
How can I change the pattern for some bars only

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(h),TVariant(0),1);
	h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(h),TVariant(0),1);
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant("cellstate(0)"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPattern,TVariant(6));
G2antt1->EndUpdate();

1943
How do I apply the same effort to all bars

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramPattern = Exg2anttlib_tlb::PatternEnum::exPatternBDiagonal;
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistOverAllocation;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(2));
G2antt1->EndUpdate();

1942
How do I apply the same percent to all bars

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task%Progress");
		var_Bar->Shortcut = L"Task";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarShowPercentCaption,TVariant(true));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPercent,TVariant(0.5));
G2antt1->EndUpdate();

1941
How can I set the same duration for all bars

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarDuration,TVariant(4));
G2antt1->EndUpdate();

1940
How do I move all bars to end at the same date-time

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMoveEnd,TVariant("#8/15/2017#"));
G2antt1->EndUpdate();

1939
How do I move all bars to start at the same date-time

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMoveStart,TVariant("#8/2/2017#"));
G2antt1->EndUpdate();

1938
How do I apply a new color for some bars, while others should be shown with a different color

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->SelBackColor = RGB(240,240,240);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->OverlaidGroup = L"Task,Task-Diff";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"Task-Diff");
		var_Bar1->Height = 4;
		var_Bar1->Color = RGB(255,0,0);
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(16));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TVariant(""),TNoParam());
	var_Items->AddBar(h,TVariant("Task-Diff"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,14).operator double()),TVariant("P"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant("cellcaption(0) like `*2` ? 0x0000FF : 0x00FF00"));
G2antt1->EndUpdate();

1937
How do I hide some bars, and show others

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->SelBackColor = RGB(240,240,240);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->OverlaidGroup = L"Task,Task-Diff";
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"Task-Diff");
		var_Bar1->Height = 4;
		var_Bar1->Color = RGB(255,0,0);
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<font ;6><%=%0%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(16));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(h,true);
	h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TVariant(""),TNoParam());
	var_Items->AddBar(h,TVariant("Task-Diff"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,14).operator double()),TVariant("P"),TNoParam());
	var_Items->set_SelectItem(h,true);
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBarEx(TVariant("-1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarTransparent,TVariant("itembar(0) = `Task` ? 0 : 100"));
G2antt1->EndUpdate();

1936
I like how ItemBarEx works, the question is how can I remove the bars based on the same criteria

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,9).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2017,8,5).operator double()),TVariant(TDateTime(2017,8,16).operator double()),TNoParam(),TNoParam());
	OutputDebugString( L"Bars before remove: " );
	OutputDebugString( PChar(var_Items->get_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
	var_Items->set_ItemBarEx(TVariant("cellcaption(0) like `*2 *3`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKey,TVariant("`toberemove` + value "));
	var_Items->RemoveBar(0,TVariant("<toberemove*>"));
	OutputDebugString( L"Bars after remove: " );
	OutputDebugString( PChar(var_Items->get_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
G2antt1->EndUpdate();

1935
Is it possible to automatically color the bar being checked

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
}

G2antt1->BeginUpdate();
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,1,1).operator double()));
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0",TVariant("check"));
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->ApplyToBars = L"Task";
	var_ConditionalFormat->BarColor = RGB(0,0,1);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->Width = 256;
G2antt1->Columns->Add(G2antt1->ConditionalFormats->get_Item(TVariant("check"))->Expression)->FormatColumn = G2antt1->ConditionalFormats->get_Item(TVariant("check"))->Expression;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2017,1,2).operator double()),TVariant(TDateTime(2017,1,12).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Item 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,1,3).operator double()),TVariant(TDateTime(2017,1,13).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(h),TVariant(0),1);
	h = var_Items->AddItem(TVariant("Item 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2017,1,4).operator double()),TVariant(TDateTime(2017,1,14).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(h),TVariant(0),1);
G2antt1->EndUpdate();

1934
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
}

G2antt1->BeginUpdate();
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0",TVariant("check"));
	var_ConditionalFormat->Bold = true;
G2antt1->Columns->Add(L"Items")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
G2antt1->Columns->Add(G2antt1->ConditionalFormats->get_Item(TVariant("check"))->Expression)->FormatColumn = G2antt1->ConditionalFormats->get_Item(TVariant("check"))->Expression;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),1);
	var_Items->AddItem(TVariant("Item 3"));
G2antt1->EndUpdate();

1933
Can I display the radio-button with a solid color

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->RadioImage[false] = 32699122;
G2antt1->RadioImage[true] = 16777216;
G2antt1->Columns->Add(L"Check")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasRadioButton,TVariant(true));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Radio 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Radio 2"))),TVariant(0),1);
	var_Items->AddItem(TVariant("Radio 1"));
G2antt1->EndUpdate();

1932
Can I display the check-box with a solid color

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->CheckImage[Exg2anttlib_tlb::CheckStateEnum::Unchecked] = 32699122;
G2antt1->CheckImage[Exg2anttlib_tlb::CheckStateEnum::Checked] = 16777216;
G2antt1->Columns->Add(L"Check")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Check 1"));
	var_Items->set_CellState(TVariant(var_Items->AddItem(TVariant("Check 2"))),TVariant(0),1);
	var_Items->AddItem(TVariant("Check 3"));
G2antt1->EndUpdate();

1931
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exGroupLinesInsideLeaf;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Format");
	var_Column1->FormatColumn = L"%CS0";
	var_Column1->Caption = var_Column1->FormatColumn;
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column1->get_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor)));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Item 1"));
	var_Items->set_CellState(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Item 2"))),TVariant(0),1);
	var_Items->set_CellState(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Item 3"))),TVariant(0),1);
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1930
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->Columns->Add(L"Items");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Format");
	var_Column->FormatColumn = L"%CD0";
	var_Column->Caption = var_Column->FormatColumn;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column->get_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor)));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellData(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(0),TVariant(1234));
	var_Items->set_CellData(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),TVariant("this is just an user data"));
	var_Items->set_CellData(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(0),TVariant(TDateTime(2001,1,1).operator double()));
G2antt1->EndUpdate();

1929
How can I use the CellValue/CellCaption with ConditionalFormat/ComputedField/FormatColumn

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DropDownListType;
		var_Editor->AddItem(1,L"Item 1",TNoParam());
		var_Editor->AddItem(2,L"Item 2",TNoParam());
		var_Editor->AddItem(3,L"Item 3",TNoParam());
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Format");
	var_Column1->FormatColumn = L"%0";
	var_Column1->Caption = var_Column1->FormatColumn;
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column1->get_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor)));
	var_Column1->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Format");
	var_Column2->FormatColumn = L"%C0";
	var_Column2->Caption = var_Column2->FormatColumn;
	var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor,TVariant(8421504));
	var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exHeaderForeColor,TVariant(var_Column2->get_Def(Exg2anttlib_tlb::DefColumnEnum::exCellForeColor)));
	var_Column2->AllowSizing = false;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(1));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(0))),TVariant(0),TVariant(2));
	var_Items->AddItem(TVariant(2));
G2antt1->EndUpdate();

1928
How can I use the ShowNonworkingHours property (hide the non-working hours)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->NonworkingHours = 16253183;
	var_Chart->ShowNonworkingHours = false;
	var_Chart->ShowNonworkingUnits = false;
G2antt1->EndUpdate();

1927
How can I use the ShowNonworkingDates property (hide the non-working days)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->ShowNonworkingUnits = false;
G2antt1->EndUpdate();

1926
How can I show/hide bars once the user checks or un-checks a column

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarTransparent,TVariant("cellstate(0) = 1 ? 0 : 100"));
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarTransparent,TVariant("cellstate(0) = 1 ? 0 : 100"));
G2antt1->EndUpdate();

1925
How can I change the color for all Task bars

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(65280));
G2antt1->EndUpdate();

1924
Is it possible to automatically select bars only when user selects a new item

// SelectionChanged event - Fired after a new item has been selected.
void __fastcall TForm1::G2antt1SelectionChanged(TObject *Sender)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelected,TVariant("itemisselected"));
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Tasks");
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowSelectObjects = Exg2anttlib_tlb::SelectObjectsEnum::exNoSelectObjects;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1923
Is it possible to automatically select bars only when the user clicks the column's checkbox

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelected,TVariant("cellstate(0) = 1"));
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowSelectObjects = Exg2anttlib_tlb::SelectObjectsEnum::exNoSelectObjects;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1922
How do I select all bars on leaf items

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("itemlevel = 1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelected,TVariant(true));
G2antt1->EndUpdate();

1921
How can I change the caption for all checked Task bars

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("(cellstate(0) = 1) and (itembar(0) = `Task`)"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("`new caption`"));
G2antt1->EndUpdate();

1920
How can I change the caption for all Task bars

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("(itembar(0) = `Task`)"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("`new caption`"));
G2antt1->EndUpdate();

1919
How can I change the caption for all bars

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("`new caption`"));
G2antt1->EndUpdate();

1918
How can I move all Task bars to end at the same date time

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("(itembar(0) = `Task`)"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant("#8/14/2017# - itembar(2)"));
G2antt1->EndUpdate();

1917
How can I move all Task bars to start at the same date time

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("(itembar(0) = `Task`)"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant("#8/3/2017# - itembar(1)"));
G2antt1->EndUpdate();

1916
How can I change the color for checked Task bars

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("cellstate(0) = 1 and itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
G2antt1->EndUpdate();

1915
How do I resize all Task bars programatically

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEnd,TVariant("value + 2"));
G2antt1->EndUpdate();

1914
How do I move just the checked Task bars in the chart

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("cellstate(0) = 1 and itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant(-2));
G2antt1->EndUpdate();

1913
How do I move all Task bars in the chart

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant(1));
G2antt1->EndUpdate();

1912
How do I count all Task bars in the chart
G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Tasks");
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	OutputDebugString( PChar(var_Items->get_ItemBarEx(TVariant("itembar(0) = `Task`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarsCount)) );
G2antt1->EndUpdate();

1911
How do I select bars whose items are checked

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SelBackColor = RGB(240,240,240);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,8,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeThinDown;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->SelBarColor = RGB(128,128,128);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,2).operator double()),TVariant(TDateTime(2017,8,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_SelectItem(hChild,true);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,3).operator double()),TVariant(TDateTime(2017,8,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2017,8,4).operator double()),TVariant(TDateTime(2017,8,12).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(hChild),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2017,8,1).operator double()),TVariant(TDateTime(2017,8,1).operator double()),TVariant("sum"),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant("sum"),-3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBarEx(TVariant("cellstate(0) = 1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelected,TVariant(true));
G2antt1->EndUpdate();

1910
How can I select all bars, where a specified column matches a specified criteria

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
G2antt1->Chart->set_PaneWidth(false,48);
G2antt1->Chart->SelBarColor = RGB(255,0,0);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TVariant("K1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K2"),TVariant("K2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("P"),TVariant("P"));
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("Q"),TVariant("Q"));
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("M"),TVariant("M"));
	var_Items->set_ItemBarEx(TVariant("cellcaption(0) = `Task 1`"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelected,TVariant(true));
G2antt1->EndUpdate();

1909
How can I select/unselect all bars

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
G2antt1->Chart->set_PaneWidth(false,48);
G2antt1->Chart->SelBarColor = RGB(255,0,0);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TVariant("K1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K2"),TVariant("K2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("P"),TVariant("P"));
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("Q"),TVariant("Q"));
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 4")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("M"),TVariant("M"));
	var_Items->set_ItemBarEx(TVariant(true),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelected,TVariant(true));
G2antt1->EndUpdate();

1908
Is it possible to set the background color of the chart for one item and one day
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Items");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,96);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item"));
	long h = var_Items->AddItem(TVariant("Item"));
	var_Items->AddBar(h,TVariant(""),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,3).operator double()),TVariant("Back"),TVariant(" "));
	var_Items->set_ItemBar(h,TVariant("Back"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarBackColor,TVariant(255));
	var_Items->set_ItemBar(h,TVariant("Back"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarSelectable,TVariant(false));
	var_Items->AddItem(TVariant("Item"));
G2antt1->EndUpdate();

1907
It is possible to search for an item ( inside the Editor ), case insensitive

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IEditorPtr var_Editor = G2antt1->Columns->Add(L"DropDownList")->Editor;
	var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DropDownListType;
	var_Editor->AddItem(1,L"One",TNoParam());
	var_Editor->AddItem(2,L"Two",TNoParam());
	var_Editor->AddItem(3,L"Three",TNoParam());
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(G2antt1->Columns->get_Item(TVariant(0))->Editor->get_FindItem(TVariant(">ONE"))));
	var_Items->AddItem(TVariant(G2antt1->Columns->get_Item(TVariant(0))->Editor->get_FindItem(TVariant(">ThRee"))));
	var_Items->AddItem(TVariant(G2antt1->Columns->get_Item(TVariant(0))->Editor->get_FindItem(TVariant("ONE"))));
	var_Items->AddItem(TVariant(G2antt1->Columns->get_Item(TVariant(0))->Editor->get_FindItem(TVariant(">tWo"))));
G2antt1->EndUpdate();

1906
The text after the BR-tag is in same line as the text before the BR-tag (entire column)

G2antt1->BeginUpdate();
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Default");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("This is the first line.<br>This is the second line."));
	var_Items->AddItem(TVariant("This is the first line.<br>This is the second line."));
	var_Items->AddItem(TVariant("This is the first line.<br>This is the second line."));
G2antt1->EndUpdate();

1905
The text after the BR-tag is in same line as the text before the BR-tag (individual)

G2antt1->BeginUpdate();
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValueFormat(TVariant(var_Items->AddItem(TVariant("This is the first line.<br>This is the second line."))),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
	long h = var_Items->AddItem(TVariant("<b>This is the first line.<br>This is the second line.</b>"));
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	var_Items->set_CellValueFormat(TVariant(var_Items->AddItem(TVariant("This is the first line.<br>This is the second line."))),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
G2antt1->EndUpdate();

1904
How do I prevent showing the control's BackColorAlternate property on empty / non-items part of the control

G2antt1->BeginUpdate();
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
G2antt1->BackColorAlternate = 0x7ff0f0f0;
G2antt1->BackColorLevelHeader = G2antt1->BackColor;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 2")),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 3")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 4")),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 5")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1903
Can I disable an item once the user selects a new value into a different item

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::G2antt1Change(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_EnableItem(var_Items->get_ItemByIndex(1),false);
}

G2antt1->FreezeEvents(true);
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->ScrollBySingleLine = true;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->Columns->Add(L"Q");
G2antt1->Columns->Add(L"A");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("What's your gender?"));
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Items->get_CellEditor(TVariant(h1),TVariant(1));
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DropDownListType;
		var_Editor->AddItem(1,L"Male",TNoParam());
		var_Editor->AddItem(0,L"Female",TNoParam());
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant(1));
	long h2 = var_Items->AddItem(TVariant("What's pet name?"));
	var_Items->set_CellValue(TVariant(h2),TVariant(1),TVariant("This is my pet favorite long long long name, that shoul break the line in multiple pieces"));
	var_Items->set_CellSingleLine(TVariant(h2),TVariant(1),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
G2antt1->EndUpdate();
G2antt1->FreezeEvents(false);

1902
How can I get a row expanded / enlarged to fit the cell's text (entire column)

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->ScrollBySingleLine = true;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->Columns->Add(L"Q");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"A");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::MemoType;
		var_Editor->Appearance = Exg2anttlib_tlb::InplaceAppearanceEnum::SingleApp;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("What's name?"));
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant("This is my pet favorite long long long name, that shoul break the line in multiple pieces"));
	long h2 = var_Items->AddItem(TVariant("What's your pet name?"));
	var_Items->set_CellValue(TVariant(h2),TVariant(1),TVariant("This is my pet favorite long long long name, that shoul break the line in multiple pieces"));
G2antt1->EndUpdate();

1901
How can I get a row expanded / enlarged to fit the cell's text (individual cell)

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->ScrollBySingleLine = true;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->Columns->Add(L"Q");
G2antt1->Columns->Add(L"A");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("What's name?"));
	var_Items->set_CellValue(TVariant(h1),TVariant(1),TVariant("This is my pet favorite long long long name, that shoul break the line in multiple pieces"));
	long h2 = var_Items->AddItem(TVariant("What's your pet name?"));
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Items->get_CellEditor(TVariant(h2),TVariant(1));
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::MemoType;
		var_Editor->Appearance = Exg2anttlib_tlb::InplaceAppearanceEnum::SingleApp;
	var_Items->set_CellValue(TVariant(h2),TVariant(1),TVariant("This is my pet favorite long long long name, that shoul break the line in multiple pieces"));
	var_Items->set_CellSingleLine(TVariant(h2),TVariant(1),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
G2antt1->EndUpdate();